package com.xjc.business.service;

import com.xjc.business.entity.domain.BuildingAdmins;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xjc.business.entity.po.buildadmin.BuildAdminLogoPo;
import com.xjc.business.entity.po.schadmin.PersonPo;
import com.xjc.business.entity.vo.PageVo;
import com.xjc.business.entity.vo.buildadmin.BuildAdminLoginVo;
import com.xjc.business.entity.vo.schadmin.BuildingRestAdminVo;
import com.xjc.business.entity.vo.schadmin.PersonVo;
import com.xjc.system.result.Result;

import java.util.List;

/**
* @author root
* @description 针对表【building_admins(宿舍管理员)】的数据库操作Service
* @createDate 2025-01-25 10:24:31
*/
public interface BuildingAdminsService extends IService<BuildingAdmins> {

    /**
     * 分页查询人员信息
     *
     * @param pageSize      每页显示条数
     * @param currentPage   当前页码
     * @param adminUserName 用户名
     * @param adminNickName 昵称
     * @param schoolId
     * @return 信息
     */
    Result<PageVo<PersonVo>> getBuildingAdminPage(Integer pageSize, Integer currentPage, String adminUserName, String adminNickName, Integer schoolId);

    /**
     * 添加管理员
     * @param personPo 管理员信息
     * @return 反馈
     */
    Result<String> addBuildingAdmin(PersonPo personPo);

    /**
     * 获取学校中空闲的楼宇管理员列表
     * @param schoolId 学校id
     * @return 信息
     */
    Result<List<BuildingRestAdminVo>> getRestBuildingAdminList(Integer schoolId);


    /**
     * 登录
     * @param buildAdminLogoPo 登录参数
     * @return 登录成功返回token，失败返回错误信息
     */
    Result<BuildAdminLoginVo> doLogin(BuildAdminLogoPo buildAdminLogoPo);
}
